
import junit.framework.TestCase;
import org.junit.Test;

import java.util.Scanner;

/**
 * @author: wuhao
 * @since: 2021/4/19 20:01
 */
public class VariableAndOperator {


    /**
     * 随意给出一个整数，打印显示它的个位数，十位数，百位数的值。
     * 格式如下：
     * 数字xxx的情况如下：
     * 个位数：
     * 十位数：
     * 百位数：
     * 例如：
     * 数字153的情况如下：
     * 个位数：3
     * 十位数：5
     * 百位数：1
     */
    public static void main(String[] args) {
        System.out.println("请输入一个三位数:");
        Scanner scanner = new Scanner(System.in);
        boolean number = scanner.hasNextInt();
        if (number == true) {
            int i = scanner.nextInt();
            System.out.println("数字" + i + "的情况如下:");
            int units = i % 10; //获取个位数
            System.out.println("个位数：" + units);
            int tens = i / 10 % 10;
            System.out.println("十位数：" + tens);
            int hundred = i / 100;
            System.out.println("百位数：" + hundred);
        }
    }


    /**
     * 思考1：
     * short s = 3;
     * s = s+2; ①
     * s += 2; ②
     * ①和②有什么区别？
     */
    @Test
    public void test2() {

        short s = 3;
        s = (short) (s + 2);//这里需要强制数据类型转换
        s += 2; //  “+=”左边的数据类型会自动转换为右边的数据类型
    }


    @Test
    public void test3() {
        int i = 1;
        i *= 0.1;
        System.out.println(i); //0
        i++;
        System.out.println(i);//1
    }

    @Test
    public void test4() {
        int m = 2;
        int n = 3;
        n *= m++;
        System.out.println("m=" + m);//3
        System.out.println("n=" + n);//6
    }

    @Test
    public void test5() {
        int n = 10;
        n += (n++) + (++n);
        System.out.println(n);//32
    }


    @Test
    public void test6() {

        boolean x = true;
        boolean y = false;
        short z = 42;
        //if(y == true)
        if ((z++ == 42) && (y = true)) z++;
        if ((x = false) || (++z == 45)) z++;
        System.out.println("z=" + z);//46
    }


    @Test
    public void test7() {

        int x = 1;
        int y=1;
        if(x++==2 & ++y==2){
            x =7;
        }
        System.out.println("x="+x+",y="+y);// x=2  ,y=2
    }


    @Test
    public void test8() {
        int x = 1,y = 1;
        if(x++==2 && ++y==2){
            x =7;
        }
        System.out.println("x="+x+",y="+y);// x=2  ,y=1

    }

    @Test
    public void test9() {
        int x = 1,y = 1;
        if(x++==1 | ++y==1){
            x =7;
        }
        System.out.println("x="+x+",y="+y);// x=7  ,y=2


    }

    @Test
    public void test10() {
        int x = 1,y = 1;
        if(x++==1 || ++y==1){
            x =7;
        }
        System.out.println("x="+x+",y="+y);// x=7  ,y=1
    }
}





















